مفاهيم اوليه پروتکل TCP/IP ( بخش پنجم )
دهلران پی سی
سایت جامع علمی ,آموزشی,فرهنگی و تفریحی


TCP/IP ، بمنظور ارسال داده بر روی شبکه  آنها را به بخش های کوچکتری با نام Packets ( بسته های اطلاعاتی ) ، تقسيم می نمايد. از بسته های اطلاعاتی ، بر اساس پروتکل های مرتبط با آنان با واژه های متفاوتی ياد می گردد. تقسيم داده به بسته های اطلاعاتی امری  حياتی و ضروری است . ارسال حجم بالائی از اطلاعات در شبکه ، مدت زمان زيادی  طول خواهد کشيد و همين امر ، باعث کند شدن شبکه  می گردد. در زمانيکه حجم بالائی از اطلاعات در شبکه جابجا می گردد ، ساير کامپيوترهای موجود در شبکه قادر به ارسال اطلاعات نخواهند بود. در چنين حالتی ، اگر در فرآيند انتقال اطلاعات اشکالی بروز نمايد ، می بايست تمامی اطلاعات مجددا" ارسال شوند. در مقابل ، اگر بسته های اطلاعاتی کوچک بر روی شبکه ارسال گردند ، انتقال آنها بسرعت انجام و محيط انتقال به مدت زيادی ، اشغال نخواهد شد . در چنين حالتی در صورتيکه هر يک از بسته های اطلاعاتی با مشکل مواجه شوند ، صرفا"  بسته اطلاعاتی  که با مشکل مواجه شده است ، مجددا" ارسال می گردد. ( در مقابل ارسال تمام اطلاعات ) .
زمانيکه يک بسته اطلاعاتی به لايه اينترفيس شبکه ارسال می گردد ( Network interface layer ) ، به آن فريم ( frame )  می گويند .  فريم ، از بخش های  متفاوتی که  هر يک دارای عملکرد خاص خود  در جريان انتقال اطلاعات در لايه اينترفيس شبکه می باشند، تشکيل شده است  .
فرآيند ارسال اطلاعات، شامل مراحل متعددی است ( سازماندهی داده درون بسته های اطلاعاتی در کامپيوتر مبداء و بهم بستن آنان در کامپيوتر مقصد  بگونه ای که شکل اوليه مجددا" ايجاد گردد) . هر لايه از پروتکل TCP/IP  ، دارای نقشی موثر در کامپيوترهای مبداء و مقصد است .

واژگان بسته های اطلاعاتی ( Packets )
در هر يک از لايه های TCP/IP از بسته اطلاعاتی ( packet ) با اسامی متفاوتی نام برده می شود . همزمان با حرکت يک بسته اطلاعاتی از يک لايه به لايه ديگر در پروتکل TCP/IP ، هر يک از پروتکل های مربوطه ، اطلاعات اختصاصی خود را به آن اضافه می نمايند. از بسته اطلاعاتی بهمراه اطلاعات اضافه شده به آن ، با اسامی فنی ديگر ، ياد می گردد. اين اسامی : Segment ( سگمنت ) ، message ( پيام ) ، datagram ( ديتاگرام ) و frame ( فريم )  ، می باشند . 

  • سگمنت . سگمنت واحد انتقال اطلاعات در TCP  بوده و شامل يک TCP header است که توسط Application data ، همراهی شده است .
  • پيام .  پيام ، واحد انتقال اطلاعات در پروتکل هائی نظير ICMP,UDP,IGMP. و ARP است . پيام شامل يک Protocol header بوده که توسط Application و يا  protocol data ، همراهی شده است .
  • ديتاگرام . ديتاگرام ، واحد انتقال اطلاعات در سطح لايه IP است . ديتاگرام شامل يک IP header است که توسط لايه transport ، همراهی  شده است .
  • فريم . فريم ، واحد انتقال اطلاعات در سطح لايه اينترفيس شبکه است . فريم  شامل يک header است که در لايه network به آن اضافه شده است که توسط داده لايه IP ، همراهی  شده است .

اجزاء يک فريم
يک فريم ( اصطلاحی برای يک بسته اطلاعاتی در سطح لايه شبکه ) شامل سه بخش اساسی : header , data و trailer است .

Header . اطلاعات موجود در اين بخش شامل موارد زير می باشد :

  • يک سيگنال هشداردهنده  مبنی بر ارسال يک بسته اطلاعاتی 

  • آدرس مبداء

  • آدرس مقصد

Data . در اين بخش ، اطلاعات واقعی ارسال شده توسط برنامه ، قرار می گيرد. اين بخش از بسته اطلاعاتی  دارای اندازه های متفاوتی است  ( بستگی به محدوديت اندازه تنظيم شده توسط شبکه دارد) . بخش Data ، در اکثر شبکه ها از نيم کيلو بايت تا چهار کيلو بايت را می تواند شامل شود. در شبکه های اترنت ، اندازه داده تقريبا" معادل يک و نيم کيلو بايت است . با توجه به  اينکه اکثر تنظيمات داده های اوليه ، بيش از چهار کيلو بايت می باشند ،می بايست داده به بخش های کوچکتری با نام " بسته های اطلاعاتی " ( packet ) ، تقسيم گردد. در زمان انتقال يک فايل با ظرفيت بالا ، بسته های اطلاعاتی زيادی در طول شبکه منتقل خواهند شد.

Trailer . محتويات trailer ، ارتباط مستقيم به پروتکل استفاده شده در لايه اينترفيس شبکه دارد . trailer ، معمولا" شامل بخشی بمنظور بررسی خطاء بوده که CRC)Cyclical redundancy check) ، ناميده می شود .CRC ، عددی است که توسط يک محاسبه رياضی بر روی بسته اطلاعتی در مبداء ( فرستنده)  ، توليد  می گردد . زمانيکه بسته اطلاعاتی به مقصد خود می رسد ، مجددا" محاسبه مربوطه انجام خواهد شد. در صورتيکه نتايج  بدست آمده ، يکسان باشد ، نشاندهنده صحت ارسال يک بسته اطلاعاتی خواهد بود . در صورتيکه ماحصل محاسبه در مقصد با نتيجه محاسبه شده در مبداء ، مغايرت داشته باشد ، بدين مفهوم خواهد بود که داده در زمان انتقال ، تغيير نموده است . در چنين حالتی ، کامپيوتز مبداء ، مجددا" داده را ارسال خواهد کرد .

جريان انتقال اطلاعات ( از کامپيوتر مبداء تا کامپيوتر مقصد )
بسته های اطلاعاتی ارسال شده از يک کامپيوتر برای کامپيوتر ديگر از بين لايه های متعدد پروتکل TCP/IP عبور خواهند کرد . بموازات رسيدن يک بسته اطلاعاتی به يک لايه  ، پروتکل های موجود در آن ، اطلاعات خاصی را به آن اضافه خواهند کرد . اطلاعات اضافه شده ( ضميمه شده )  توسط هر پروتکل ، شامل اطلاعاتی در رابطه با  بررسی خطاء بوده  که Checksum ، ناميده می شود. از Checksum ،  بمنظور بررسی صحت ارسال اطلاعات اضافه شده در header توسط پروتکل مربوطه ، در پروتکل مقصد استفاده می گردد ( اطلاعات می بايست بی کم و کاست در اختيار پروتکل مقصد قرار بگيرند ) .فراموش نکنيم که  CRC  ، صحت انتقال يک بسته را بطور کامل بررسی می نمايد. اطلاعات اضافه شده توسط پروتکل ها در هر لايه ، بعنوان داده توسط پروتکل های لايه زيرين ( پايين ) ، کپسوله خواهند شد. زمانيکه بسته اطلاعاتی به مقصد مورد نظر می رسد ، لايه مربوطه ( منتاظر ) يک بخش از header را برداشته و با باقی  بسته اطلاعاتی بعنوان داده برخورد خواهد کرد . بسته اطلاعاتی در ادامه بسمت پروتکل های موجود در لايه بالاتر ارسال و دراختيار پروتکل مربوطه قرار خواهد گرفت . در ادامه عملکرد هر يک از لايه ها را در فرآيند انتقال اطلاعات بررسی و اين موضوع را از زاويه کامپيوتر مبداء و مقصد دنبال خواهيم نمود.

لايه Application
فرآيند انتقال اطلاعات از لايه application آغاز می گردد . يک برنامه نظير FTP ، پردازش را در کامپيوتر مبداء مقدار دهی اوليه می نمايد(آماده نمودن داده به فرمتی که برنامه در کامپيوتر مقصد ، قادر به تشخيص  آن باشد) . برنامه موجود در کامپيوتر مبداء ، کنترل تمامی فرآيند را برعهده خواهد داشت .

لايه Transport
از لايه Application ، داده به لايه transport منتقل می گردد. اين لايه شامل پروتکل های TCP و UDP است . برنامه مورد نظر نوع پروتکل "حمل" را مشخص می نمايد( TCP يا UDP ) . در هر دو حالت Checksum برای TCP و UDP اضافه خواهد شد.
در صورتيکه پروتکل TCP ، انتخاب گردد :

  •  يک دنباله عددی ( Sequence number ) به هر سگمنت منتقل شده ، اضافه خواهد شد.

  • اطلاعات مربوط  به  Acknowledgment برای يک ارتباط " اتصال- گرا" ، به هر سگمنت اضافه می شود .

  • شماره پورت TCP در رابطه با برنامه های مبداء و مقصد ، اضافه خواهد شد.

در صورتيکه پروتکل UDP ، انتخاب گردد :

  • شماره پورت UDP در رابطه با برنامه های مبداء و مقصد ، اضافه خواهد شد.

لايه اينترنت
پس از اينکه اطلاعات "حمل " اضافه گرديد ، بسته اطلاعاتی در اختيار لايه "اينترنت " قرار داده می شود. در اين لايه ، اطلاعات زير به header  اضافه می گردد :

  • آدرس IP مبداء

  • آدرس IP مقصد

  • نوع پروتکل "حمل "

  • مقدار checksum

  • اطلاعات TTL)Time to Live)

علاوه بر اطلاعات فوق ، لايه اينترنت مسئوليت  بر طرف نمودن آدرس های IP مقصد به يک آدرس MAC  را نيز بر عهده دارد . پروتکل ARP ، مسئول انجام عمليات فوق ، است . آدرس MAC به header بسته اطلاعاتی اضافه و در ادامه بسته اطلاعاتی  در اختيار لايه " اينترفيس شبکه " ، قرار داده می شود.

لايه "اينترفيس شبکه "
لايه فوق ، پس از دريافت يک بسته اطلاعاتی از لايه IP ، اطلاعات زير را به آن اضافه خواهد کرد :

  • يک Preamble ( مقدمه ) . دنباله ای از بايت ها است که ابتدای يک "فريم " را مشخص می نمايد .

  • يک CRC .  ماحصل يک محاسبه رياضی است که به انتهای فريم اضافه و از آن بمنظور صحت  ارسال فريم ، استفاده می گردد.

پس ازافزودن اطلاعات مورد نظر به فريم ها در لايه اينترفيس شبکه ، در ادامه فريم ها  بر روی شبکه ارسال خواهند شد.

عمليات در کامپيوتر مقصد
زمانيکه فريم ها به کامپيوتر مقصد می رسند ، لايه اينترفيس شبکه ، Preamble را حذف و مقدار CRC را مجددا" محاسبه می نمايد. در صورتيکه مقدار بدست آمده با مقدار محاسبه شده در مبداء ، يکسان باشد در ادامه آدرس MAC مقصد ، موجود بر روی فريم،  بررسی می گردد . در صورتيکه آدرس MAC ، يک آدرس Broadcast   و يا آدرس MAC با کامپيوتر مقصد مطابقت نمايد ، فريم به لايه "اينترنت " ، ارسال خواهد شد. در غير اينصورت فريم ناديده گرفته می شود. در لايه IP ، مجددا" Checksum محاسبه و با مقدار محاسبه شده قبل از انتقال ، مقايسه تا اين اطمينان حاصل گردد که بسته اطلاعاتی در طول مسير تغيير ننموده است . در ادامه ، IP بسته اطلاعاتی را در اختيار پروتکل "حمل" ، قرار می دهد ( TCP  يا UDP ) . بمنظور تصميم گيری در رابطه با نوع پروتکل "حمل " ، از اطلاعات موجود در IP header استفاده می گردد. در لايه "حمل" ،  در صورتيکه بسته اطلاعاتی از TCP دريافت شده باشد ، دنباله عددی ( sequence number ) بر روی بسته اطلاعاتی بررسی و يک acknowledgement برای TCP کامپيوتر مبداء ارسال می گردد . در ادامه از اطلاعات پورت TCP موجود در بسته اطلاعاتی استفاده تا  بسته اطلاعاتی برای برنامه مربوطه در لايه Application ، ارسال گردد.
 در صورتيکه UDP بسته اطلاعاتی را از لايه "اينترنت" دريافت نمايد ، از اطلاعات پورت UDP موجود در بسته اطلاعاتی استفاده تا آن را برای برنامه مربوطه در لايه Application ارسال نمايد . ( بدون ارسال يک acknowledgement  برای کامپيوتر مبداء ) .
پس از دريافت اطلاعات توسط Appliaction ، پردازش های لازم و ضروری در ارتباط با آنها انجام خواهد شد.

در بخش ششم اين مقاله به بررسی "روتينگ داده " ، خواهيم پرداخت


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:








ارسال توسط هادی احمدی

آرشیو مطالب
پيوند هاي روزانه
امکانات جانبی

آمار وب سایت:  

بازدید امروز : 70
بازدید دیروز : 12
بازدید هفته : 350
بازدید ماه : 662
بازدید کل : 162605
تعداد مطالب : 736
تعداد نظرات : 23
تعداد آنلاین : 1

Google

در اين وبلاگ
در كل اينترنت
 <-PostTitle-> <-PostContent-> 1 <-PostLink->